Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/25232

Share on

Title: Uma abordagem gradativa de modernização de software monolítico e em camadas para SOA
Authors: RODRIGUES, Alessandro Borges
Keywords: Engenharia de software; Arquitetura de software
Issue Date: 27-Mar-2017
Publisher: Universidade Federal de Pernambuco
Abstract: A constante evolução tecnológica, tanto de hardware quanto de software, faz com que muitos sistemas tornem-se obsoletos, apesar de ainda atenderem seus requisitos e serem estáveis. Outrora foi a época dos sistemas procedurais, hoje vemos que a própria evolução deles, os orientados a objetos, em muitos casos, se tornaram obsoletos, grandes e complexos, com tecnologias ultrapassadas e contendo centenas ou milhares de classes, sendo esses problemas agravados naqueles que foram construídos de forma monolítica, possuindo assim apenas um único arquivo como resultado. A arquitetura orientada a serviços permite a criação de sistemas com menor complexidade, já que seus serviços possuem baixo acoplamento, permitindo atualizações individuais sem afetar os demais serviços. Porém, a reconstrução dos sistemas já existentes nessa nova arquitetura é inviável, devido ao custo necessário (tempo, mão de obra etc.), sendo a reengenharia deles uma possível solução, que permite a reformulação desses sistemas de uma maneira menos onerosa. Apesar da arquitetura em camadas ser bastante utilizada nos sistemas orientados a objetos, faltam soluções de reengenharia que leve esse fato em consideração, não sendo tão efetivas quando executadas em sistemas com essa arquitetura. Este trabalho busca definir uma abordagem para modernização de sistemas monolíticos, orientados a objetos e que tenham sido desenvolvidos com a arquitetura em camadas, para a arquitetura orientada a serviços, de uma forma semi-automatizada, sem a necessidade de o engenheiro de software possuir um profundo conhecimento do sistema a ser modernizado. No sistema reconstruído, as classes das camadas de negócio e persistência serão agrupadas de acordo com seus relacionamentos, e os métodos das classes de negócio serão disponibilizados como serviços. As etapas da abordagem proposta são constituídas de técnicas, cujas fórmulas e algoritmos podem ser adicionados/transformados em ferramentas que automatizarão o processo. Esta metodologia de modernização permite que os web services criados possuam uma quantidade menor de classes, além de menor complexidade em cada serviço, mantendo a funcionalidade original. Isso é conseguido tanto através de refatorações no código original que diminui a quantidade de dependência entre as classes, quanto através da separação de agrupamentos de classes em pedaços menores. Foram obtidos resultados satisfatórios no estudo de caso, como redução de 24% da dependência média entre as classes, diminuição de 80% e 6,33% do tamanho e da complexidade estática do componente (CSC), respectivamente e 100% de sucesso nos testes de regressão.
URI: https://repositorio.ufpe.br/handle/123456789/25232
Appears in Collections:Dissertações de Mestrado - Ciência da Computação

Files in This Item:
File Description SizeFormat 
DISSERTAÇÃO Alessandro Borges Rodrigues.pdf1.72 MBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons